package com.example.airobotstatistics.mapper;

import com.example.airobotstatistics.dto.InterviewStatisticsDto;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 面试统计数据的Mapper接口
 * 用于处理面试相关的数据库操作
 */
@Mapper
public interface InterviewStatisticsMapper {
    
    /**
     * 获取面试统计数据
     * 根据职位ID获取面试的统计信息
     *
     * @param positionId 职位ID，用于筛选特定职位的统计数据
     * @return 返回包含各种统计数据的DTO对象列表
     */
    List<InterviewStatisticsDto> getInterviewStatistics(@Param("positionId") Integer positionId);

    /**
     * 获取所有面试数量
     * 统计指定职位的面试总数
     *
     * @param positionId 职位ID，用于筛选特定职位的面试数量
     * @return 返回面试的总数量
     */
    Integer getMonthlyInterviewCount(@Param("positionId") Integer positionId);

    /**
     * 获取已完成面试数量
     * 统计指定职位的已完成面试数量
     *
     * @param positionId 职位ID，用于筛选特定职位的面试数量
     * @return 返回已完成面试的数量
     */
    Integer getCompletedInterviewCount(@Param("positionId") Integer positionId);
} 